// pages/login/index.js
import { Login, CreateCaptcha } from '../../services/auth/auth';
import util from "../../utils/util.js"

Page({
  /**
   * 页面的初始数据
   */
  data: {
    form: {
      telephone: '15010123237',
      password: '123456',
      code: '',
      nonce: '',
    },
    rules: {
      telephoneError: false,
      telephoneMessage: '手机号输入不正确',
      passwordError: false,
      passwordMessage: "密码至少六位数字",
      codeError: false,
      codeMessage: '请输入验证码'
    },
    checked: false,  // 勾选
    suffixSrc: "",   // 验证码图
    activeImage: '../../../images/checkbox-checked.png',   // 勾选图标
    inActiveImage: '../../../images/checkbox.png',
    hidePassword: false,   // 查看密码
  },
  /* 监听表单 */
  onInput(event) {
    const { key } = event.currentTarget.dataset;
    const { value } = event.detail;
    this.setData({ ['form.' + [key]]: value });
    switch (key) {
      case 'telephone':
        this.setData({ ['rules.' + [key] + 'Error']: !util.phoneRegCheck(value) });
        break;
      case 'password':
        const inputRegExp = /^\d{6,18}$/;
        this.setData({ ['rules.' + [key] + 'Error']: !inputRegExp.test(value) });
        break;
      case 'code':
        if (value == '') this.setData({ ['rules.' + [key] + 'Error']: true });
        else this.setData({ ['rules.' + [key] + 'Error']: false });
        break;
      default:
        break;
    };
    // this.setData({ ['rules.' + [key] + 'Error']: !inputRegExp.test(value) });
  },
  /* 监听勾选 */
  ChangeChecked(event) {
    const value = event.detail.checked;
    this.setData({ checked: value });
  },
  /* 登录 */
  login() {
    if (this.data.form.telephone == '') this.setData({ ['rules.telephoneError']: true });
    if (this.data.form.password == '') this.setData({ ['rules.passwordError']: true });
    if (this.data.form.code == '') this.setData({ ['rules.codeError']: true });
    if (this.data.rules.telephoneError || this.data.rules.codeError || this.data.rules.passwordError) return;
    if (!this.data.checked) { util.showToast('请勾选条件', "none"); return }
    Login(this.data.form).then(res => {
      if (res.code === '0000') {
        wx.setStorageSync('UserKey', res.data.token)
        wx.setStorageSync('userInfo', JSON.stringify(res.data))
        let pages = getCurrentPages();
        let prevPage = pages[pages.length - 2]; //上一页
        prevPage.setData({ refresh: true });
        wx.navigateBack({ delta: 1 });
      }
    })
  },
  /* 验证码生成 */
  getCaptcha() {
    let nonce = new Date().getTime()
    this.setData({ suffixSrc: CreateCaptcha(nonce), ['form.nonce']: nonce })
  },
  /* 查看密码 */
  changEye() {
    this.setData({ hidePassword: !this.data.hidePassword })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    wx.clearStorageSync("userInfo")
    wx.clearStorageSync("UserKey")
    this.getCaptcha()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})